package com.vf.activity.service;

import java.util.List;
import com.vf.activity.domain.ActivityApplications;
import com.vf.activity.domain.DTO.ActivitiesDTO;
import com.vf.activity.domain.DTO.ApplicationsDTO;

/**
 * 活动参与申请Service接口
 * 
 * @author LBS
 * @date 2025-06-04
 */
public interface IActivityApplicationsService 
{
    /**
     * 查询活动参与申请
     * 
     * @param applicationId 活动参与申请主键
     * @return 活动参与申请
     */
    public ActivityApplications selectActivityApplicationsByApplicationId(Long applicationId);

    /**
     * 查询活动参与申请列表
     * 
     * @param activityApplications 活动参与申请
     * @return 活动参与申请集合
     */
    public List<ActivityApplications> selectActivityApplicationsList(ActivityApplications activityApplications);

    /**
     * 新增活动参与申请
     * 
     * @param activityApplications 活动参与申请
     * @return 结果
     */
    public int insertActivityApplications(ActivityApplications activityApplications);

    /**
     * 修改活动参与申请
     * 
     * @param activityApplications 活动参与申请
     * @return 结果
     */
    public int updateActivityApplications(ActivityApplications activityApplications);

    /**
     * 批量删除活动参与申请
     * 
     * @param applicationIds 需要删除的活动参与申请主键集合
     * @return 结果
     */
    public int deleteActivityApplicationsByApplicationIds(Long[] applicationIds);

    /**
     * 删除活动参与申请信息
     * 
     * @param applicationId 活动参与申请主键
     * @return 结果
     */
    public int deleteActivityApplicationsByApplicationId(Long applicationId);

    List<ApplicationsDTO> getActivityApplicationsByUserId(Long userId);

    List<ActivitiesDTO> getActivityByUserId(Long userId);

    List<ApplicationsDTO> getActivityJoinByUserId(Long userId);

    List<ApplicationsDTO> getActivityPByUserId(Long userId);

    int updateActivityApplicationsPass(Long applicationId);

    int updateActivityApplicationsNoPass(Long applicationId);
}
